﻿using System;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace TFSExceptionHandling.Domain.Model.TFS
{
    [DataContract]
    public class WorkItemHandling
    {
        #region " Properties "

        [DataMember]
        [Description("System | Build")]
        public string FoundIn { get; set; }

        [DataMember]
        [Description("Details | Ex.: 1 - Critical")]
        public string Severity { get; set; }

        [DataMember]
        [Description("Acceptance Criteria | Definition of Done")]
        public string AcceptanceCriteria { get; set; }

        [DataMember]
        [Description("Details | How much Effort with words")]
        public string Effort { get; set; }

        [DataMember]
        [Description("Steps to Reproduce Bugs")]
        public string ReproSteps { get; set; }

        [DataMember]
        [Description("System | Build")]
        public string SystemInfo { get; set; }

        [DataMember]
        [Description("Details | Bug Closed Date")]
        public string ClosedDate { get; set; }

        [DataMember]
        [Description("System | Build")]
        public string IntegrationBuild { get; set; }

        [DataMember]
        [Description("Details | Backlog Priority")]
        public string BacklogPriority { get; set; }

        [DataMember]
        [Description("")]
        public string RelatedLinkCount { get; set; }

        [DataMember]
        [Description("Bug History")]
        public string History { get; set; }

        [DataMember]
        [Description("Bug Description")]
        public string Description { get; set; }

        [DataMember]
        [Description("Details | Bug Created By User | Cannot be changed")]
        public string CreatedBy { get; set; }

        [DataMember]
        [Description("Details | Bug Created Date | Cannot be changed")]
        public DateTime CreatedDate { get; set; }

        [DataMember]
        [Description("WorkItemType")]
        public string WorkItemType { get; set; }

        [DataMember]
        [Description("Status | Bug Assigned To User")]
        public string AssignedTo { get; set; }

        [DataMember]
        [Description("Status | Bug Reason | Ex.:New defect reported")]
        public string Reason { get; set; }

        [DataMember]
        [Description("Details | Bug Changed By User")]
        public string ChangedBy { get; set; }

        [DataMember]
        [Description("")]
        public string Rev { get; set; }

        [DataMember]
        [Description("")]
        public string Watermark { get; set; }

        [DataMember]
        [Description("")]
        public string AuthorizedDate { get; set; }

        [DataMember]
        [Description("Status | Bug State | Ex.: New")]
        public string State { get; set; }

        [DataMember]
        [Description("Bug Title")]
        public string Title { get; set; }

        [DataMember]
        [Description("")]
        public string AuthorizedAs { get; set; }

        [DataMember]
        [Description("")]
        public string AreaId { get; set; }

        [DataMember]
        [Description("Details | Bug ID")]
        public int Id { get; set; }

        [DataMember]
        [Description("")]
        public string ChangedDate { get; set; }

        [DataMember]
        [Description("")]
        public string RevisedDate { get; set; }

        [DataMember]
        [Description("")]
        public string AreaPath { get; set; }

        [DataMember]
        [Description("")]
        public string NodeName { get; set; }

        [DataMember]
        [Description("")]
        public string AttachedFileCount { get; set; }

        [DataMember]
        [Description("")]
        public string HyperlinkCount { get; set; }

        [DataMember]
        [Description("Bug in Team Project")]
        public string TeamProject { get; set; }

        [DataMember]
        [Description("")]
        public string ExternalLinkCount { get; set; }

        [DataMember]
        [Description("")]
        public string IterationId { get; set; }

        [DataMember]
        [Description("")]
        public string IterationPath { get; set; }

        #endregion
    }
}
